﻿// 192. 三角形（挑战程序设计竞赛）.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>

using  namespace std;


/*

https://www.papamelon.com/problem/192


有 n 根棍子，棍子 ii 的长度为 ai。想要从中选出 3 根棍子组成周长尽可能长的三角形。

请输出最大的周长，若无法组成三角形则输出 0。

输入
第一行，一个整数 n(3≤n≤100)，表示棍子数量
第二行 n 个整数，表示每个棍子的长度 ai(1≤ai≤10^6)
输出
一个整数，最大周长
样例 1
输入
5
2 3 4 5 10
输出
12
样例 2
输入
4
4 5 10 20
输出
0
*/


const int N = 200;
int arr[N];
int n;


bool Check(int i, int j, int k) {
	if (arr[i] + arr[k] <= arr[j]) return false;
	if (arr[i] + arr[j] <= arr[k]) return false;
	if (arr[j] + arr[k] <= arr[i]) return false;

	return true;
}

int main()
{
	cin >> n;

	for (int i = 0; i < n; i++) {
		cin >> arr[i];
	}
	int ans = 0;
	for (int i = 0; i < n; i++) {
		for (int j = i + 1; j < n; j++) {
			for (int k = j + 1; k < n; k++) {
				if (Check(i, j, k)) {
					ans = max(ans,arr[i] + arr[j] + arr[k]);
				}
			}
		}
	}

	cout << ans << endl;

	return 0;
}

 